IF exists(SELECT * FROM dbo.sysobjects WHERE name='r_jaarProcenten' AND xtype='FN') 
BEGIN
	DROP FUNCTION r_jaarProcenten
END
GO

CREATE    function r_jaarProcenten(@klas varchar(5))
returns @jaarprocenten 
	table(inschrijvingsNr char(7),
		vak char(2),
		DWprocent int,
		EXprocent int,
		TOTprocent int) 
as
begin
  declare @hulpcijfers table(inschrijvingsNr char(7),
			vak char(2),
			DWcijfer float,
			DWmax float,
			EXcijfer float,
			EXmax float)
  insert into @hulpcijfers(inschrijvingsNr,vak,
	DWcijfer,DWmax,EXcijfer,EXmax)
  select c.inschrijvingsNr,c.vak,
	   round(c.DW,1),round(c.DWmax ,1),
	     round(c.EX,1),round(c.EXmax ,1)
    	from r_trimestercijfers as c
  	left join leerlingen..leerlingen as l
  		on l.inschrijvingsNr = c.inschrijvingsNr
  	where l.klas like @klas

  insert into @jaarprocenten(inschrijvingsNr,vak,
	DWprocent,EXprocent,TOTprocent)
	select inschrijvingsNr, vak,
		studiebegeleiding.dbo.r_procent(		
			sum(case when DWcijfer >= 0   
                                 then DWcijfer else 0 end),
			sum(case when DWcijfer >= 0   
                                 then DWmax else 0 end)),
		studiebegeleiding.dbo.r_procent(		
			sum(case when EXcijfer >= 0   
                                 then EXcijfer else 0 end),
			sum(case when EXcijfer >= 0   
                                 then EXmax else 0 end)),
		studiebegeleiding.dbo.r_totaal(		
			sum(case when DWcijfer >= 0   
                                 then DWcijfer else 0 end),
			sum(case when DWcijfer >= 0   
                                 then DWmax else 0 end),
			sum(case when EXcijfer >= 0   
                                 then EXcijfer else 0 end),
			sum(case when EXcijfer >= 0   
                                 then EXmax else 0 end))
  from @hulpcijfers
  group by inschrijvingsNr,vak
  return
end
-----------